C++ Systems & Performance Engineering
Modern high-performance systems engineering: from first-principles memory models, pointers, and RAII to modern C++20/C++23 features, templates, STL algorithms, move semantics, multithreading, and low-latency architecture.
Introduction to C++
Origins, C vs C++, the 4-stage compilation pipeline, IDE setup, tokens, keywords, identifiers, namespaces, and standard I/O architecture.
Variables, Data Types & I/O
Memory layout of primitive types, type modifiers, static_cast conversions, formatting with <iomanip>, and stream buffering.
Operators & Expressions
Arithmetic, bitwise masking, short-circuit logic, operator precedence hierarchy, ternary expressions, and the sizeof operator.
Control Statements
Decision control, switch jump tables, for/while/do-while loops, nested loops, pattern generation, break/continue, and goto hazards.
Functions & Storage Classes
Call by value vs reference, reference variables, inline functions, function overloading, recursion stack frames, and storage durations.
Arrays & Strings
1D & 2D arrays, Row-Major Order memory offsets, array-to-pointer decay, matrix multiplication, binary search, C-strings, and std::string SSO.
Pointers & Dynamic Memory
Direct RAM addressing, address-of (&), dereference (*), scaled pointer arithmetic, pointer-array duality, double pointers, dynamic allocation (new/delete), and leak mitigation.
Structures, Unions & Enums
User-defined data aggregation, memory alignment, padding, nesting, pointers via the arrow operator (->), memory-sharing unions, and scoped enums.
Classes & Objects
OOP paradigm, public/private/protected encapsulation, member function linkage, arrays of objects, static members, friend functions, and the 'this' pointer.
Constructors & Destructors
Default, parameterized, and copy constructors, initializer lists, deep vs shallow copying, destructors, RAII, and LIFO destruction sequencing.
Inheritance
Base & derived subobjects, single, multilevel, multiple, hierarchical, and hybrid topologies, access modes, constructor chains, and virtual base classes.
Polymorphism & Virtual Functions
Compile-time vs runtime polymorphism, function/operator overloading, virtual functions, vtable/vptr mechanics, pure virtuals, and abstract classes.
File Handling & Streams
Stream hierarchy, ifstream/ofstream/fstream, file open modes, text vs binary serialization via reinterpret_cast, and random-access seekg/seekp cursors.
Exception Handling
try-catch-throw mechanics, multiple catch hierarchies, catch-all (...), rethrowing, custom std::exception classes, stack unwinding, and noexcept.
Templates & Generic Programming
Zero-cost compile-time abstractions, function & class templates, non-type template parameters (NTTP), template overloading, and specialization.